/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.escom.administracion.dao.hibernate;

import com.escom.administracion.dao.UsuarioAdministradorDAO;
import com.escom.administracionperfiles.hbm.dto.UsuarioAdministrador;
import com.escom.cliente.exception.DAOException;
import com.escom.hibernate.template.AdminSoportHibernate;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

/**
 *
 * @author yamil
 */
public class UsuarioAdministrativoDAOHBM extends AdminSoportHibernate implements UsuarioAdministradorDAO,Serializable{

    public void create(UsuarioAdministrador usuarioAdministrador) throws DAOException {
        save(usuarioAdministrador);
    }

    public void edit(UsuarioAdministrador usuarioAdministrador) throws DAOException {
        update(usuarioAdministrador);
    }

    public void remove(UsuarioAdministrador usuarioAdministrador) throws DAOException {
        delete(usuarioAdministrador);
    }

    public UsuarioAdministrador find(Object id) throws DAOException {
        return find(id);
    }

    public List<UsuarioAdministrador> findAll() throws DAOException {
        return findAll(UsuarioAdministrador.class);
    }

    public int count() {
        return count();
    }

    @Override
    public UsuarioAdministrador findUsuarioAndPassword(String usuarioAdmin, String passwordAdmin) throws DAOException {
        UsuarioAdministrador user=null;
        Session session=getSession();
        Criteria criterio = session.createCriteria(UsuarioAdministrador.class);
        criterio.add(Restrictions.and(Restrictions.eq("usuario", usuarioAdmin),Restrictions.eq("contrasenia", passwordAdmin)));
        criterio.setMaxResults(1);
        if(!criterio.list().isEmpty())
        user=(UsuarioAdministrador)criterio.list().get(0);
        session.close();
        return user;
    }

}
